import request from '../../utils/request'

Page({
  data: {
    loading: true,       // 新增loading状态
    id: null,
    imageKey: '',
    textContent: '',
    newText: ''
  },

  onLoad() {
    this.fetchRandomMaterial()
  },

  fetchRandomMaterial() {
    this.setData({ loading: true })  // 请求开始，显示转圈
    request({
      url: 'material/random-empty',
      method: 'GET'
    }).then(res => {
      const data = res.data
      this.setData({
        id: data.id,
        imageKey: data.image.url,
        textContent: data.textContent || '',
        loading: false           // 数据加载完成，隐藏转圈，显示内容
      })
    })
    .catch(err => {
      this.setData({ loading: false })  // 请求失败也隐藏转圈
      wx.hideLoading();
      setTimeout(() => {
        wx.showToast({
          title: err.message || '请求失败',
          icon: 'none',
          duration: 3000
        });
      }, 100); // 延迟 100ms，兼容安卓渲染慢
    })
  },

  onInput(e) {
    this.setData({ newText: e.detail.value })
  },

  onSubmit() {
    const { id, newText } = this.data
    if (!id) {
      wx.showToast({
        title: '计划已终止！',
        icon: 'none'
      })
      return;
    }

    if (!newText.trim()) {
      wx.showToast({ title: '请输入新文本', icon: 'none' })
      return
    }

    request({
      url: 'material/update-content',
      method: 'PUT',
      data: {
        id,
        textContent: newText
      }
    }).then(() => {
      wx.showToast({ title: '提交成功', icon: 'success' })
      // 提交后重新获取一张新的
      this.setData({ newText: '' })
      this.fetchRandomMaterial()
    }).catch(() => {
      wx.showToast({ title: '提交失败', icon: 'none' })
    })
  },

  onReject() {
    const { id, newText } = this.data
    if (!id) {
      wx.showToast({
        title: '计划已终止！',
        icon: 'none'
      })
      return;
    }

 


    request({
      url: 'material/update-content',
      method: 'PUT',
      data: {
        id,
        textContent: '不合适'
      }
    }).then(() => {
      wx.showToast({ title: '提交成功', icon: 'success' })
      // 提交后重新获取一张新的
      this.setData({ newText: '' })
      this.fetchRandomMaterial()
    }).catch(() => {
      wx.showToast({ title: '提交失败', icon: 'none' })
    })
  },


  onPreviewImage(e) {
    console.log('点击事件：', e);
    const current = e.currentTarget.dataset.src;
    console.log('预览地址：', current);
  
    if (!current) {
      wx.showToast({ title: '无效图片', icon: 'none' });
      return;
    }
  
    wx.previewImage({
      current,
      urls: [current]
    });
  }
})
